home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok20.lha / ComplexLib / txt / Regelstrecke.mod < prev    next >
Text File  |  1993-08-15  |  2KB  |  74 lines

  1.  
  2. (*********************************************************************
  3.  *
  4.  *  :Program.    Regelstrecke.mod
  5.  *  :Author.     Gary Struhlik
  6.  *  :Address.    -
  7.  *  :Address.    -
  8.  *  :shortcut.   [gs]
  9.  *  :Version.    1.0
  10.  *  :Date.       01.02.89
  11.  *  :Copyright.  PD
  12.  *  :Language.   Modula-II
  13.  *  :Translator. M2Amiga
  14.  *  :Contents.   Testroutine für die Module "GraphicLib" und "ComplexLib"
  15.  *
  16.  *********************************************************************)
  17.  
  18. MODULE Regelstrecke;
  19.  
  20. FROM GraphicLib IMPORT InitVector, GraphOn, GraphOff, graph1, gmove, vector,
  21.                        sy, graph2,logstep,sxlog,sylog,HardCopy,
  22.                        RedPen;      
  23.  
  24. FROM ComplexLib IMPORT COMPLEX, crcp, cpol,compop; 
  25.  
  26. VAR
  27.     Betrag, Winkel, wl : ARRAY [1..1500] OF REAL;
  28.     w : REAL;
  29.         Z1,Z2 : COMPLEX;
  30.     i,j : CARDINAL;
  31. BEGIN
  32.        w:=1.0E-2; j:=0;
  33.        WHILE w<=1.0E2 DO
  34.          Z1.RE:=0.0; Z1.IM:=w;
  35.          Z2.RE:=1.0; Z2.IM:=0.1*w;
  36.          compop( Z1, Z1,'*',Z2); 
  37.          crcp(Z1,Z1);
  38.          cpol(Z1,Z1);
  39.          INC(j);
  40.          wl[j]:=w;
  41.          Betrag[j]:=Z1.RE;
  42.          Winkel[j]:=Z1.IM;
  43.          w:=logstep(w,0.01)
  44.        END;     
  45.        GraphOn; InitVector; (* Grafik einschalten und initialisieren *)
  46.        
  47.        graph2(2, 1.0E-2, 1.0E2, -60.0, 40.0, 10, 0.17, 0.93, 0.18, 0.86
  48.               ,'Go(s)=1/[ sT1 (1+sT2) ] ', '-> LG W',
  49.               '-> |Go|/dB T1=1s,T2=0,1s');
  50.        RedPen;
  51.        gmove( sxlog(wl[1]), sylog(Betrag[1]) );
  52.        FOR i:=2 TO j DO
  53.          vector( sxlog(wl[i]), sylog(Betrag[i]) )
  54.        END;
  55.        (* HardCopy(13); *)
  56.        
  57.        GraphOff;
  58.  
  59.        GraphOn;
  60.        graph2(2, 1.0E-2, 1.0E2, -200.0, 0.0, 10, 0.17, 0.93, 0.18, 0.86,
  61.                'REGELSTRECKE: Go(s)=1/[ sT1 (1+sT2) ]', '->  LG W',
  62.                '-> PHI/o T1=1s,T2=0,1s');
  63.        RedPen;
  64.        gmove( sxlog(wl[1]), sy(Winkel[1]) );
  65.        FOR i:=2 TO j DO
  66.          vector( sxlog(wl[i]), sy(Winkel[i]) )
  67.        END;         
  68.        
  69.        GraphOff;
  70.  
  71. END Regelstrecke.
  72.        
  73.  
  74.